
package artaza.controlador;

import artaza.persistencia.Mensaje;
import artaza.service.*;
import com.google.appengine.api.datastore.KeyFactory;
import java.util.Collection;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class MensajeController {

    private MensajeService mensajeService;

    @Autowired
    @Required
    public void setMensajeService(MensajeService mensajeService) {
        this.mensajeService = mensajeService;
    }

    @RequestMapping(value = "/adminSecured/listadom", method = RequestMethod.GET)
    public String doShowMensajes(Model model) {

        final Collection<Mensaje> mensajes = mensajeService.getAllMensajes();
        model.addAttribute("mensajes", mensajes);
        return "/listadom";
    }

    @RequestMapping(value = "/crear_mensaje", method = RequestMethod.POST)
    public String doCrearMensaje(
            @RequestParam("nombre") String nombre,           
            @RequestParam("correo") String correo,
            @RequestParam("telefono") String telefono,
            @RequestParam("comentarios") String comentarios, Model model) {

        if (nombre.length() == 0 || correo.length() == 0 || correo.length() == 0) {
            return "redirect:error.html";
        }

        final Mensaje m = new Mensaje(nombre,correo,telefono,comentarios);
        mensajeService.create(m);

        return "/crearmensaje";
    }
    

    @RequestMapping(value = "/adminSecured/borrar_mensaje", method = RequestMethod.POST)
    public String doBorrarMensaje(@RequestParam("id") String id, Model model) {
        mensajeService.remove(KeyFactory.stringToKey(id));
        return "redirect:listadom";
    }

}
